home *** CD-ROM | disk | FTP | other *** search
- #ifndef _CosEventChannelAdmin_IDL_
- #define _CosEventChannelAdmin_IDL_
-
- #pragma prefix "omg.org"
-
- #include "CosEventComm.idl"
-
- module CosEventChannelAdmin {
- exception AlreadyConnected{};
- exception TypeError{};
-
- interface ProxyPushConsumer: CosEventComm::PushConsumer {
- void connect_push_supplier(in CosEventComm::PushSupplier push_supplier)
- raises(AlreadyConnected);
- };
-
- interface ProxyPullSupplier: CosEventComm::PullSupplier {
- void connect_pull_consumer(in CosEventComm::PullConsumer pull_consumer)
- raises(AlreadyConnected);
- };
-
- interface ProxyPullConsumer: CosEventComm::PullConsumer {
- void connect_pull_supplier(in CosEventComm::PullSupplier pull_supplier)
- raises(AlreadyConnected, TypeError);
- };
-
- interface ProxyPushSupplier: CosEventComm::PushSupplier {
- void connect_push_consumer(in CosEventComm::PushConsumer push_consumer)
- raises(AlreadyConnected, TypeError);
- };
-
- interface ConsumerAdmin {
- ProxyPushSupplier obtain_push_supplier();
- ProxyPullSupplier obtain_pull_supplier();
- };
-
- interface SupplierAdmin {
- ProxyPushConsumer obtain_push_consumer();
- ProxyPullConsumer obtain_pull_consumer();
- };
-
- interface EventChannel {
- ConsumerAdmin for_consumers();
- SupplierAdmin for_suppliers();
- void destroy();
- };
-
- interface EventChannelFactory {
- EventChannel new_event_channel();
- };
- };
-
- #endif /* !_CosEventChannelAdmin_IDL_ */
-